Object-detection method multi-class Bhattacharyya Boost algorithm used therein

ABSTRACT

The present invention discloses an object-detection method and a multi-class Bhattacharyya Boost algorithm used therein, wherein firstly, integral images are calculated from an image data in order to speed up the extraction of the characteristics of the objects; then, multiple rectangles of different sizes are scanned at different locations of the image data, and the multi-class Bhattacharyya Boost algorithm is used to detect multi-class objects. In the present invention, the detection framework can use only one single boosted cascade to determine the status and position of the object inside the image data. The simultaneous multi-class detection of the present invention can effectively overcome the detection difficulties resulting from the diversification of object appearances under different conditions. Therefore, the present invention can detect multiple objects simultaneously and can also detect one object having multiple classes of appearances, and further, the detection speed and the system robustness of the present invention are superior to those of the conventional technologies.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a detection method and an algorithm, particularly to an object-detection method, which can process objects having multiple classes of appearances, and a Multi-class Bhattacharyya Boost (MBH-Boost) algorithm used therein.

2. Description of the Related Art

To integrate the digital image processing technology with automatic monitoring/control, building security, or man-machine interaction is an active field the academic circle and the industry endeavor to study and develop. Various achievements thereof will enable automatic processes to replace some human works. Among this field, object detection is a critical preprocessing because it is only after the system has known the positions of target objects that the succeeding processes, such as identifying human faces or other objects in a security system, or monitoring/tracing human beings or vehicles in a monitoring/control system, can be executed. Therefore, object-detection technology has universal utility. And, some objective and measurable factors, such as detection speed, detection accuracy and detection robustness, can be used to evaluate the performance of a detection algorithm.

Recently, the learning mechanism of a boosting algorithm has been often used in object detection, and it can also be integrated with a cascade framework to increase detection speed. The efficiency and accuracy of the object-detection technology based on the boosted cascade has acquired general attention in academic circles, and further researches are also being undertaken, for example, determining the interference factors in detecting human faces, such as illumination, occlusion and rotation angles, and promoting detection accuracy under the influence of a variety of extrinsic factors.

In resolving those discussed above, the present invention proposes an object-detection method and a multi-class Bhattacharyya Boost algorithm used therein to overcome the problems.

SUMMARY OF THE INVENTION

The primary objective of the present invention is to provide a method to detect objects with multiple classes of appearances, wherein the multi-class object can be detected via only using a single boosted cascade, and the execution efficiency and the detection accuracy thereof is promoted thereby.

Another objective of the present invention is to propose a novel Multi-class Bhattacharyya Boost (MBH-Boost) algorithm to overcome the difficulties resulting from the diversified classes of the object appearances shown in different conditions and to enhance the robustness of the system.

According to the present invention, the objection-detection method is based on a multi-class cascade framework. Initially, an object-detection system is provided with an image data; multiple rectangles on the image data are separately scanned by the multi-class object-detection method, and the integral image thereof is used to calculate the projection of the image data; the calculation results will be used to perform multi-class classifications on those rectangles.

According to the object-detection method of the present invention, the Multi-class Bhattacharyya Boost (MBH-Boost) algorithm is used in the object-detection system. Firstly, training data D^(Γ) of a set Γ of multiple classes, a set φ of the projection directions of weak learners, and an iteration number T are provided; a weighted value w_(t) ^(x)(i) with respect to each item in D^(Γ) is worked out via iterative calculations; an optimal projection direction φ_(t) is worked out via the weighted value w_(t) ^(x)(i); w_(t) ^(x)(i) is updated to be w_(t+1) ^(x)(i) according to the classification result of the optimal projection direction φ_(t); and after T iterations, a vector-valued classifier F, which is used as a decision boundary, can be worked out. The class-wise calculation results for the set Γ={A, B, C, . . . } correspondingly give the component-wise values of the classifier F, i.e., H^(A), H^(B), H^(C), . . . , whose maximal positive value will be used as the classification standard.

To enable the objectives, technical contents, characteristics and accomplishments of the present invention to be more easily understood, the embodiments of the present invention are described below in cooperation with the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of the multi-class training data according to the present invention.

FIG. 2 is a schematic diagram showing that the action of the projection directions on the classes A, C, and E according to the present invention.

FIG. 3 is a flow chart of the object-detection process according to the present invention.

FIG. 4 is a schematic diagram showing the different-size rectangles according to the present invention.

FIG. 5 is a schematic diagram for rectangles of different kinds at specified positions of an image according to the present invention.

FIG. 6 is a schematic diagram showing the object detection according to the present invention.

FIG. 7 is a schematic diagram showing the calculation of characteristics inside the image according to the present invention.

FIG. 8 is a schematic diagram showing the detection of characteristic images and the designation of the characteristics according to the present invention.

FIG. 9 is another schematic diagram showing the detection of characteristic images and the designation of the characteristics according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The primary objective of the present invention is to provide a method to detect objects with multiple classes of appearances, and the method of the present invention is based on two core elements: (1) a classification algorithm—a Multi-class Bhattacharyya Boost (MBH-Boost) algorithm, (2) a detection framework—a multi-class cascade, which are to be described below.

The novel Multi-class Bhattacharyya Boost (MBH-Boost) algorithm primarily functions to simultaneously process the detection of multiple kinds of objects with multiple classes of appearances, and classifier sharing is the primary principle thereof. All classes of objects have a common projection direction; however, an independent decision boundary of each class will be separately learned according to the training data of each kind. Via sharing a common projection, the calculation amount is obviously reduced, and the execution speed increases. In the other side, the independent decision boundary of each kind speeds up the convergence of classification error rate. Therefore, even though only few weak learners are used, classification accuracy rate still maintains high. In theory, the present invention provides a mechanism of selecting an optimal projection direction, and it is proved that the error upper bound is directly lowered thereby; in experiment, the present invention is verified in the detection of four kinds of human faces, and the results thereof show the Multi-class Bhattacharyya Boost (MBH-Boost) algorithm of the present invention is superior to the conventional methods.

In general, the target object is a very scarce incident in comparison with the others in the image, and such a characteristic is often used to speed up the detection process. Among the approaches thereby, the cascade detection framework proposed in 2001 is a well-known one; however, it can only be used to detect a single-class object. The present invention proposes a multi-class cascade framework to solve the problem. In each node of the cascade structure, the embedded classifiers are sequentially learned from the training data varying from simplicity to complexity. In contrast with the other methods for detecting the multi-class object, the algorithm of the present invention needs only a single boosted cascade framework; therefore, the algorithm of the present invention is superior to the conventional ones in detection speed, accuracy, and robustness.

Besides, the detection method of the present invention neither applies any further limitation to the desired object nor applies any special presumption between different classes of the object; therefore, the present invention has superior generality and flexibility in application; for example, the present invention is adaptable to (1) identify various kinds of objects, such as human beings, vehicles, or human faces, (2) identify multiple classes of variant appearances of a single object, such as the frontal face, the profile face and the rotated face of a human being, or human faces under different lighting conditions, (3) identify the combination case of two abovementioned ones. Thus, the present invention can be widely applied to the automatic processing system based on digital image processing technology.

The MBH-Boost of the present invention is an algorithm based on machine learning, and the system must be constructed through a well-designed training stage before it can be used to reliably perform the testing stage for its practical application. These two stages are to be described below.

Training Stage

The method of the present invention will be exemplified by the detection of profile faces. As shown in FIG. 1, Γ={A, B, . . . , I} designates the set of the denotations of nine profile faces having different rotation angles, and |Γ|=9.

Training Data:

Training data D^(Γ) is a set of object images and non-object images and has the correct labels thereof. There are nine classes in the exemplifying profile face detection, and nine types of training data are expressed as: $\begin{matrix} \begin{matrix} {D^{\quad A} = {\left\{ {\left( {x_{\quad 1}^{\quad A},y_{\quad 1}^{\quad A}} \right),\ldots\quad,\left( {x_{\quad D^{\quad A}}^{A},y_{\quad D^{\quad A}}^{A}} \right)} \right\} = {D^{\quad{A\quad +}\quad}\bigcup D^{\quad{A\quad -}\quad}}}} \\ {D^{\quad B} = {\left\{ {\left( {x_{\quad 1}^{\quad B},y_{\quad 1}^{\quad B}} \right),\ldots\quad,\left( {x_{\quad D^{\quad B}}^{B},y_{\quad D^{\quad B}}^{B}} \right)} \right\} = {D^{\quad{B\quad +}\quad}\bigcup D^{\quad{B\quad -}\quad}}}} \\ \vdots \\ {D^{\quad I} = {\left\{ {\left( {x_{\quad 1}^{\quad I},y_{\quad 1}^{\quad I}} \right),\ldots\quad,\left( {x_{\quad D^{\quad I}}^{I},y_{\quad D^{\quad I}}^{I}} \right)} \right\} = {D^{\quad{I\quad +}\quad}\bigcup D^{\quad{I\quad -}\quad}}}} \\ {D^{\Gamma} = {D^{A}\bigcup D^{B}\bigcup\quad{\ldots\quad D^{I}}}} \end{matrix} & (1) \end{matrix}$ MBH Weak Learner:

Each MBH weak learner has a projection direction, and in the present invention, the MBH weak learners share a common projection direction for all the classes of the desired object. According to the positive and negative training data of each class, two distributions are formed in a one-dimensional subspace after projection. According to the distributions, each class learns and obtains its own decision boundary independently. Let f be a weak leaner, which comprises a projection direction φ, and x be a pattern input to f. The decision process can be expressed as: $\begin{matrix} \begin{matrix} {{f(x)} = {\left\lbrack {{h^{A}(x)},\ldots\quad,{h^{I}(x)}} \right\rbrack\quad\left( {{profile}\quad{face}\quad{detection}} \right)}} \\ {= \left\lbrack {{{h^{\chi}(x)}\left. {\chi \in \Gamma} \right\rbrack},\quad\left( {{general}\quad{case}} \right)} \right.} \end{matrix} & (2) \end{matrix}$ wherein $\begin{matrix} {{{h^{\chi}(x)} = {{{\ln\sqrt{{p_{k}^{\chi +}(\phi)}/{p_{k}^{\chi -}(\phi)}}\quad{if}\quad\phi^{T}x} \in {b_{k}.{p_{k}^{\chi +}(\phi)}}} = {{\sum\limits_{i_{k}^{\chi +}{(\phi)}}^{\quad}{{w^{\chi}(i)}\quad{and}\quad{p_{k}^{\chi -}(\phi)}}} = {\sum\limits_{i_{k}^{\chi -}{(\phi)}}^{\quad}{w^{\chi}(i)}}}}}{{i_{k}^{\chi}(\phi)} = \left\{ {i\left. {{x_{i} \in D^{\chi}},{{\phi^{T}x_{i}} \in b_{k}}} \right\}} \right.}} & (3) \end{matrix}$

Refer to FIG. 2 showing the action of two projection directions and corresponding weak learners on the classes of A, C, and E in the 10-bin subspace.

Multi-Class Bhattacharyya Boost (MBH-Boost) Algorithm:

To utilize the MBH-Boost algorithm, the following parameters and data are needed: (1) the training data D^(Γ) of detection classes Γ={A, B, C, . . . I}, (2) the set Φ of projection directions of the weak learner, (3) the number of iteration T. In the “t”th iteration of MBH-Boost algorithm, the weighted value w_(t) ^(x)(i) of each component in the training data D^(Γ) is updated, and an optimal projection direction φ_(t) will be derived from the weighted value w_(t) ^(x)(i); f_(t) the vector-valued weak learner can also be worked out from the optimal projection direction φ_(t) in the “t”th iteration. The execution process can be expressed by the following algorithm. Algorithm:MBHBoost Input : Face  classes, Γ; D^(Γ) = ⋃_(𝓍 ∈ Γ)D^(𝓍); Projection  set, Φ; Number  of  iterations, T.Output : A  vector-valued  MBH  classifier  F.Initialize : the  weight  vector  w₁^(𝓍)(i) = 1/D^(𝓍), for  i = 1, 2, …, D^(𝓍)  and  ∀𝒳 ∈ Γ.for  t ← 1, 2, …, T  do $\quad\left\lfloor {{\begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} {1.\quad{Determine}\quad{the}\quad{optimal}\quad{projection}\quad\phi_{t}\quad{from}\quad{by}} \\ {{solving}\quad{(4).}} \end{matrix} \\ {2.\quad{Construct}\quad{the}\quad{MBH}\quad{weak}\quad{learner}\quad f_{t}} \end{matrix} \\ {{associated}\quad{with}\quad\phi_{t}\quad{using}\quad{(2).}} \end{matrix} \\ {\left. {3.\quad{w_{t + 1}^{\mathcal{x}}(i)}}\leftarrow{{w_{t}^{\mathcal{x}}(i)}{{\exp\left( {{- y_{i}^{\mathcal{x}}}{h_{t}^{\mathcal{x}}\left( x_{i}^{\mathcal{x}} \right)}} \right)}/Z_{t}^{\mathcal{x}}}} \right.,} \end{matrix} \\ {{{{for}\quad i} = 1},2,\ldots,{{D^{\mathcal{x}}}\quad{and}\quad{\forall{\mathcal{X} \in {\Gamma.}}}}} \end{matrix} \\ {\left( {Z_{t}^{\mathcal{x}}\quad{is}\quad a\quad{normalization}\quad{factor}\quad{such}\quad{that}\quad w_{t + 1}^{\mathcal{x}}} \right.} \end{matrix} \\ \left. {{is}\quad a\quad{{distribution}.}} \right) \end{matrix}{Output}\quad{an}\quad{MBH}\quad{classifier}\quad{F:{F(x)}}} = {{\sum\limits_{t = 1}^{T}\quad{f_{t}(x)}} = {\left\lbrack {{H^{\mathcal{x}}(x)} = {{\sum\limits_{t = 1}^{T}\quad{h_{t}^{\mathcal{x}}(x)}}❘{\mathcal{X} \in \Gamma}}} \right\rbrack.}}} \right.$

The vector-valued output of the classifier F includes the calculation results H^(A), H^(B), H^(C) . . . respectively corresponding to each class in each set Γ, which can be used as the decision boundaries of the corresponding classes. In each of the iterations, the projection direction is selected according to: $\begin{matrix} {{{\phi_{t} = {\underset{\phi \in \quad\Phi}{\arg\quad\min}{\sum\limits_{\chi \in \Gamma}{\Delta_{t}^{\chi} \times {{BHC}_{t}^{\chi}(\phi)}}}}},{where}}{{{BHC}_{t}^{\chi}(\phi)} = {\sum\limits_{k = 1}^{m}{\sqrt{{p_{k}^{\chi +}(\phi)}{p_{k}^{\chi -}(\phi)}}.}}}} & (4) \end{matrix}$ In theory, it is based on the following formulae: $\begin{matrix} {{{BHC}_{t}^{\chi}(\phi)} = {Z_{t}^{\chi}/2.}} & (5) \\ \begin{matrix} {\Delta_{t}^{\chi} = {{D^{\chi}}{\sum\limits_{i = 1}^{D^{\chi}}{{w_{1}^{\chi}(i)}{\exp\left( {{- y_{i}^{\chi}}{\sum\limits_{\tau = 1}^{t - 1}{h_{\tau}^{\chi}\left( x_{i}^{\chi} \right)}}} \right)}}}}} \\ {= {{{D^{\chi}}Z_{1}^{\chi}{\sum\limits_{i = 1}^{D^{\chi}}{{w_{2}^{\chi}(i)}{\exp\left( {{- y_{i}^{\chi}}{\sum\limits_{\tau = 2}^{t - 1}{h_{\tau}^{\chi}\left( x_{i}^{\chi} \right)}}} \right)}}}} = \ldots}} \\ {= {{D^{\chi}}Z_{1}^{\chi}\quad\ldots\quad Z_{t - 1}^{\chi}{\sum\limits_{i = 1}^{D^{\chi}}{w_{t}^{\chi}(i)}}}} \\ {= {{D^{\chi}}{\prod\limits_{\tau = 1}^{t - 1}\quad{Z_{\tau}^{\chi}.}}}} \end{matrix} & (6) \end{matrix}$

The optimal solution of the upper bound of the error rate under the projection direction selected by formula (4) can be derived from formulae (5) and (6), as shown below: $\begin{matrix} {{\sum\limits_{\chi \in \Gamma}{\Delta_{t}^{\chi} \times {{BHC}_{t}^{\chi}(\phi)}}} = {{\frac{1}{2}{\sum\limits_{\chi \in \Gamma}{{D^{\chi}}{\prod\limits_{\tau = 1}^{t}\quad Z_{\tau}^{\chi}}}}} \propto {\sum\limits_{\chi \in \Gamma}{{D^{\chi}}{\prod\limits_{\tau = 1}^{t}\quad{Z_{\tau}^{\chi}.}}}}}} & (7) \end{matrix}$ Multi-Class Cascade:

As mentioned above, the multi-class cascade can be used to improve detection accuracy, execution speed, and robustness. In utilizing the MBH-Boost algorithm to construct the nodes of the cascade framework, firstly, the training targets (target detection rate μ and false-positive rate ν) of each node are to be preset, and target detection rate μ is usually preset to range from 99.5%˜99.9%, and false-positive rate θ is usually preset to range from 40%˜50%. Let F_(k) be the classifier embedded into the k th node, and the training data in the k th node would be the data passing through the anterior k−1 nodes. Additionally, a voluminous database Q, which collects various images except the object images (human faces in this embodiment), will be constructed to create a negative training data.

The constructing process of the multi-class cascade framework can be expressed by the following algorithm. Algorithm:Multi-Class Cascade:Training Input : Φ; D^(Γ); A  set  of  images  containing  no  faces  Q; Target  detection  rate  μ; False-positive  rate  ν.Output : A  cascade  of  MBH  classifiers{F₁, …, F_(ɛ)}; Number  of  stage  used  s^(𝓍), ∀𝒳 ∈ Γ.Initialize : k ← 1; Γ_(k) ← Γ; while  Γ_(k) ≠ ⌀  do $\quad\left\lfloor \begin{matrix} {{{With}\quad D^{\Gamma k}\quad{and}\quad\Phi},{{apply}\quad{MBH}\text{-}{Boost}\quad{to}\quad{derive}}} \\ {F_{k} = {\left\lbrack {H_{k}^{\mathcal{x}}❘{\mathcal{X} \in \Gamma_{k}}} \right\rbrack\quad{where}\quad{each}\quad{component}\quad H_{k}^{\mathcal{x}}}} \\ {{{should}\quad{achieve}\quad{the}\quad{preset}\quad\left( {\mu,\nu} \right)\quad{requirements}};} \\ {{{foreach}\quad\mathcal{X}} \in {\Gamma_{k}\quad{do}}} \\ \left\lfloor \begin{matrix} {\left. D^{{\mathcal{x}} +}\leftarrow\left\{ {\left( {x,y} \right)❘{\left( {x,y} \right) \in {{D^{{\mathcal{x}} +}\bigwedge{H_{k}^{\mathcal{x}}(x)}} \geq \theta_{k}^{\mathcal{x}}}}} \right\} \right.;} \\ \left. D^{{\mathcal{x}} -}\leftarrow{{False}\text{-}{Positives}\quad{from}\quad D^{{\mathcal{x}} -}\quad{or}\quad{from}} \right. \\ {{{Q\quad{such}\quad{that}\quad{D^{{\mathcal{x}} -}}} = {D^{{\mathcal{x}} +}}};} \\ {{if}\quad{not}\quad{enough}\quad{False}\text{-}{Positives}\quad{then}} \\ \left\lfloor {\left. s^{\mathcal{x}}\leftarrow k \right.;{\left. \Gamma_{k}\leftarrow{\Gamma_{k} - \left\{ \mathcal{X} \right\}} \right.:\left. s\leftarrow k \right.};} \right. \end{matrix} \right. \\ {\left. \Gamma_{k + 1}\leftarrow\Gamma_{k} \right.;\left. k\leftarrow{k + 1} \right.;} \end{matrix} \right.$ Testing Stage

As shown in FIG. 3, during testing stage, the first step S1 is to provide an image data for the detection system; referring to FIG. 4, the second step S2 is that the detection system scans multiple rectangles 10 in the image data, and the rectangles 10 are of different sizes, such as 24×24, 30×30, 38×38 . . . ; in the third step S3, the integral images are used to perform the rapid calculation of the projection in the image data defined by each weak learner, and referring to FIG. 5, the projection calculation is to calculate the difference between the sums of the gray-level values in balck region(s) of each rectangle 10 and the sum of gray-level values in the remaining white region(s), and the calculation results will be input to the weak learner; in the fourth step S4, according to the classification results output by multiple previously trained weak learners, the MBH-Boost algorithm is used to perform multi-class classification on the rectangle 10, and a detection framework cascaded by vector-valued classifiers is used to perform the detection in order to determine whether the object is the desired one. Thus, the detection process is completed.

When a test pattern “x” (a rectangle) is input into a multi-class cascade framework having completed the learning, it will be processed as follows: Algorithm:Multi-Class Cascade:Testing Input : A  test  pattern  x; Face  classes  Γ; A  cascade  of detectors  {F₁, …, F_(s)}; Number  of  stages, s^(𝓍), ∀𝒳 ∈ Γ.Output : A  vector  of  boolean  outputs, output(Γ).Initialize : k ← 1; Λ ← Γ; while  Λ ≠ ⌀  do $\quad\left\lfloor \begin{matrix} {{{Jointly}\quad{evaluate}\quad{H_{k}^{\mathcal{x}}(x)}},{{\forall{\mathcal{X} \in \Lambda}};}} \\ {{{foreach}\quad\mathcal{X}} \in {\Lambda\quad{do}}} \\ \left\lfloor \begin{matrix} {{{if}\quad{H_{k}^{\mathcal{x}}(x)}} < {\theta_{k}^{\mathcal{x}}\quad{then}}} \\ \left\lfloor \quad{\left. {{output}(\mathcal{X})}\leftarrow{False} \right.;\left. \Lambda\leftarrow{\Lambda - \left\{ \mathcal{X} \right\}} \right.;} \right. \\ {{{else}\quad{if}\quad k} = {s^{\mathcal{x}}\quad{then}}} \\ \left\lfloor \quad{\left. {{output}(\mathcal{X})}\leftarrow{True} \right.;\left. \Lambda\leftarrow{\Lambda - \left\{ \mathcal{X} \right\}} \right.;} \right. \end{matrix} \right. \\ {\left. k\leftarrow{k + 1} \right.;} \end{matrix} \right.$

The algorithm of the present invention provides each class of the object with a Boolean output, which denotes whether the test pattern (rectangle) is the object of one specified class.

When the detection of a human face 14 is used for exemplification, the detection process is as follows: firstly, referring to FIG. 6, the image data 16 is provided; referring to FIG. 7, different sizes of rectangles of the image data 16 are scanned, and the integral images are used to calculate the projections; the MBH-Boost algorithm is used to perform multi-class classification of the human face 14; the single cascade of vector-value classifiers is used to speed up the detection in order to determine the viewing angles and the lighting conditions of the human face 14, as shown in FIG. 8 and FIG. 9.

The object-detection method of the present invention can designate the desired object and the class thereof. When it is exemplified by the human face detection under different lighting conditions or with different rotation angles, the execution results are shown in FIG. 9, wherein the light incident angles and the rotation angles of the human face are all appropriately designated. From the above examples, it can be concluded: the object-detection method of the present invention can overcome the detection difficulties resulting from the diversified classes of the appearances under different conditions, and the robustness of the system can also be obviously improved. As shown in the embodiment of human face detection, in comparison with other detection algorithms, the algorithm of the present invention has the characteristics of instant detection, higher detection accuracy, capability of dealing with multi-class appearances resulting from the rotation angle of the object, viewing angle of the camera, lighting conditions, and occlusion.

Those embodiments described above are not to limit the scope of the present invention but only to clarify the present invention to enable the person skilled in the art to understand, make, and use the present invention. Any equivalent modification and variation according to the spirit of the present invention disclosed herein is to be included within the scope of the present invention. 

1. An object-detection method, based on a multi-class cascade framework, and provided for an image-detection system to detect an image data, and comprising the following steps: scanning multiple rectangles of said image data; utilizing integral images to calculate projections inside said image data; and performing multi-class classification of said rectangles according to the results of projection calculation.
 2. The object-detection method according to claim 1, wherein said image-detection system utilizes a Multi-class Bhattacharyya Boost (MBH-Boost) algorithm to perform a multi-class detection.
 3. The object-detection method according to claim 1, wherein said object can be a human face, a vehicle, or other specified target.
 4. The object-detection method according to claim 1, wherein said multiple classes include classes resulting from viewing angles, occlusions, or lighting conditions.
 5. A Multi-class Bhattacharyya Boost (MBH-Boost) algorithm, comprising the following steps: (A) providing a training data D^(Γ) of a set Γ of multiple classes, a set Φ of projection directions of a weak learner, and a number of iteration T; (B) in the “t”th iteration, working out an optimal projection direction φ_(t) according to a weighted value w_(t) ^(x)(i) of each component of said training data D^(Γ); (C) updating said weighted value w_(t) ^(x)(i) into W_(t+1) ^(x)(i) according to the classification results of said φ_(t); and (D) after T iterations of (B) and (C), working out a vector-valued classifier F, which can be used as decision boundaries, wherein said classifier F includes calculation results H^(A), H^(B), H^(C) . . . respectively corresponding to each class in said set Γ and maximal positive values of said calculation results H^(A), H^(B), H^(C) . . . respectively corresponding to each class in said set Γ is used as classification standards.
 6. The Multi-class Bhattacharyya Boost (MBH-Boost) algorithm according to claim 5, wherein the relationship between said weighted value w_(t) ^(x)(i) and said optimal projection direction φ_(t) is: ${\phi_{t} = {\underset{\phi \in \quad\Phi}{\arg\quad\min}{\sum\limits_{\chi \in \Gamma}{\Delta_{t}^{\chi} \times {{BHC}_{t}^{\chi}(\phi)}}}}},{where}$ ${{{BHC}_{t}^{\chi}(\phi)} = {\sum\limits_{k = 1}^{m}\sqrt{{p_{k}^{\chi +}(\phi)}{p_{k}^{\chi -}(\phi)}}}},{{and}\quad{wherein}}$ $\begin{matrix} {\Delta_{t}^{\chi} = {{D^{\chi}}{\sum\limits_{i = 1}^{D^{\chi}}{{w_{1}^{\chi}(i)}{\exp\left( {{- y_{i}^{\chi}}{\sum\limits_{\tau = 1}^{t - 1}{h_{\tau}^{\chi}\left( x_{i}^{\chi} \right)}}} \right)}}}}} \\ {= {{{D^{\chi}}Z_{1}^{\chi}{\sum\limits_{i = 1}^{D^{\chi}}{{w_{2}^{\chi}(i)}{\exp\left( {{- y_{i}^{\chi}}{\sum\limits_{\tau = 2}^{t - 1}{h_{\tau}^{\chi}\left( x_{i}^{\chi} \right)}}} \right)}}}} = \ldots}} \\ {= {{D^{\chi}}Z_{1}^{\chi}\quad\ldots\quad Z_{t - 1}^{\chi}{\sum\limits_{i = 1}^{D^{\chi}}{w_{t}^{\chi}(i)}}}} \\ {{= {{D^{\chi}}{\prod\limits_{\tau = 1}^{t - 1}\quad Z_{\tau}^{\chi}}}},} \end{matrix}$ and BHC_(t)^(χ)(ϕ) = Z_(t)^(χ)/2, and ${\sum\limits_{\chi \in \Gamma}{\Delta_{t}^{\chi} \times {{BHC}_{t}^{\chi}(\phi)}}} = {{\frac{1}{2}{\sum\limits_{\chi \in \Gamma}{{D^{\chi}}{\prod\limits_{\tau = 1}^{t}\quad Z_{\tau}^{\chi}}}}} \propto {\sum\limits_{\chi \in \Gamma}{{D^{\chi}}{\prod\limits_{\tau = 1}^{t}\quad{Z_{\tau}^{\chi}.}}}}}$
 7. The Multi-class Bhattacharyya Boost (MBH-Boost) algorithm according to claim 5, wherein said classifier F is defined as: $\begin{matrix} {{F(x)} = {\sum\limits_{t = 1}^{T}{f_{t}(x)}}} \\ {{= {{\text{[}{H^{\chi}(x)}} = {\sum\limits_{t = 1}^{T}{{h_{t}^{\chi}(x)}\left. {\chi \in \Gamma} \right\rbrack}}}},} \end{matrix}$ and  wherein $\begin{matrix} {{f(x)} = {\left\lbrack {{h^{A}(x)},\ldots\quad,{h^{I}(x)}} \right\rbrack\quad\left( {{profile}\quad{face}\quad{detection}} \right)}} \\ {= \left\lbrack {{{h^{\chi}(x)}\left. {\chi \in \Gamma} \right\rbrack},\quad\left( {{general}\quad{case}} \right),} \right.} \end{matrix}$ and ${h^{\chi}(x)} = {{{\ln\sqrt{{p_{k}^{\chi +}(\phi)}/{p_{k}^{\chi -}(\phi)}}\quad{if}\quad\phi^{T}x} \in {b_{k}.{p_{k}^{\chi +}(\phi)}}} = {{\sum\limits_{i_{k}^{\chi +}{(\phi)}}^{\quad}{{w^{\chi}(i)}\quad{and}\quad{p_{k}^{\chi -}(\phi)}}} = {\sum\limits_{i_{k}^{\chi -}{(\phi)}}^{\quad}{w^{\chi}(i)}}}}$ i_(k)^(χ)(ϕ) = {ix_(i) ∈ D^(χ), ϕ^(T)x_(i) ∈ b_(k)}. 